package com.xoa.service.supervision;

import java.util.Map;

import com.xoa.model.supervision.Supervision;
import com.xoa.model.supervision.SupervisionApply;
import com.xoa.util.ToJson;
import com.xoa.util.treeUtil.TreeGirdNode;
import com.xoa.util.treeUtil.TreeNode;

import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by 张丽军 on 2017/7/28.
 */

@Service
public interface SupervisionService {

    public ToJson<Supervision> getSupManageByTypeId(HttpServletRequest request,Integer typeId,Integer page, Integer pageSize, Boolean useFlag);

    public ToJson<TreeGirdNode> getSupManageMenu(HttpServletRequest request,Supervision supervision);

    public ToJson<Supervision> addSupervision(HttpServletRequest request,Supervision supervision);

    public ToJson<Supervision> deleteSupervisionBySid(HttpServletRequest request,Integer sid);

    public ToJson<Supervision> getSupAssistDetail(HttpServletRequest request,Integer sid,String bodyId);

    public ToJson<Supervision> selectCountList(Map<String, String> mapParamter,Integer sid, String beginDate, String endDate, String typeId);

    public ToJson<Supervision> queryCountSupervisionByStatus();
    
    public ToJson<Supervision> getSupApplyTaskList(Integer status,Integer sid,HttpServletRequest request);

	/**
	 * 创建作者:   杨 胜
	 * 创建日期:   2017-8-3 下午3:40:04
	 * 方法介绍:   
	 * 参数说明:   @param deptId
	 * 参数说明:   @return
	 * @return     Map<String,Object>
	 */
    Supervision queryCountByDept(Integer deptId,Map<String,Object> map);

	
	/**
	 * 创建作者:   杨 胜
	 * 创建日期:   2017-8-8 下午4:46:21
	 * 方法介绍:   
	 * 参数说明:   @param supervision
	 * 参数说明:   @param request
	 * 参数说明:   @return
	 * @return     ToJson<Supervision>
	 */
	public ToJson<Supervision> updateSupStatus(Supervision supervision,
			HttpServletRequest request);

	ToJson<Supervision> updateSupervision(HttpServletRequest request, Supervision supervision);
}
